Stata绘制条形图的进阶用法
本文作者:陈志林,河南大学经济学院
本文编辑:王思雨
技术总编:李婷婷
Stata and Python 数据分析
爬虫俱乐部Stata基础课程、Stata进阶课程和Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~爬虫俱乐部在前期的推文中为大家介绍了多篇Stata绘图的文章,包括绘图的通用选项、饼形图、条形图等等,也有粉丝小伙伴们在后台留言想了解折线图、柱状图等等图形的绘制,在之后的推文中我们也会逐一为大家进行介绍。那在之前的推文中我们已经介绍了条形统计图的基本绘制方法,本文将在《Stata绘图系列——条形图绘制》的基础上进一步介绍条形图绘制的进阶方法,比如如何绘制水平条形图、如何进行拼接绘图和分组绘图等等。一起来看看吧~
绘制水平条形图
在Stata中我们也可以使用水平直条,只需将以上命令中的graph bar改为graph hbar即可,其他选项和《Stata绘图系列——条形图绘制》中的基本保持一致。我们同样还是使用citytemp.dta数据集进行操作。
clear all
sysuse citytemp
graph hbar (mean) tempjan tempjuly,over(region) legend(title("Mean Temperature") label(1 "January") label(2 "July")) ytitle(Temperature)
如上图所示,我们就可以得到一个水平直条的条形图,按照region变量分类展示了1月和7月温度的均值统计量,并添加标题图例等。
对于直条的颜色等显示格式均与《Stata绘图系列——条形图绘制》中的基本相似。
graph hbar (mean) tempjan tempjuly,over(region,relabel(1 "North East" 2 "North Central" 3 "South" 4 "West")) ///
legend(position(6) title("Mean Tempture") label(1 "January") label(2 "July")) bar(1, fcolor(red) lcolor(black)) bar(2, fcolor(blue) lcolor(black)) ytitle(Temperature)
同样,也可以添加直条的具体值并拉开两变量直条之间的间距,程序如下:
graph hbar (mean) tempjan tempjuly,over(region,relabel(1 "North East" 2 "North Central" 3 "South" 4 "West") label(labsize(mean) angle(45) labcolor(green))) ///
legend(position(6) title("Mean Tempture") label(1 "January") label(2 "July")) blabel(bar) bargap(5) bar(1, fcolor(red) lcolor(black)) bar(2, fcolor(blue) lcolor(black)) ytitle(Temperature)
拼接绘图
在Stata中我们也可以借助命令将两个变量的直条上下拼接起来来满足我们的绘图要求,在以上命令中添加stack选项即可。
graph bar (mean) tempjan tempjuly, over(region) legend(title("Mean Temperature") label(1 "January") label(2 "July")) bar(1, fcolor(red)) bar(2,fcolor(blue)) stack
水平条形图的拼接也是相似的:
graph hbar (mean) tempjan tempjuly, over(region) legend(title("Mean Temperature") label(1 "January") label(2 "July")) bar(1, fcolor(red)) bar(2,fcolor(blue)) stack
对于之前介绍的其他选项功能在拼接绘制时也同样适用。
graph hbar (mean) tempjan tempjuly, over(region,relabel(1 "North East" 2 "North Central" 3 "South" 4 "West")) ///
legend(title("Mean Temperature") label(1 "January") label(2 "July")) bar(1, fcolor(red)) bar(2,fcolor(blue)) blabel(bar) stack ytitle(Temperature)
分组绘制
借助by( )选项可进行分组绘图,在分组前面我们先生成一个变量hot,当变量heatdd的数值超过5500时取值为1,否则取值为0。具体程序如下所示:
gen hot = (heatdd>5500)
graph hbar (mean) tempjan tempjuly,over(region) legend(title("Mean Tempture") label(1 "January") label(2 "July")) stack by(hot)
同样加入其他选项对图形进行修饰:
graph hbar (mean) tempjan tempjuly,over(region,relabel(1 "North East" 2 "North Central" 3 "South" 4 "West")) ///
legend(position(6) title("Mean Tempture") label(1 "January") label(2 "July")) bar(1, color(none) fcolor(red)) bar(2, fcolor(blue)) blabel(bar) stack by(hot)
以上就是条形图进阶用法的介绍了,大家同时要记得巩固绘制条形图的基础方法哦!
重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:
最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
往期推文推荐 快来看看武汉的房价是不是又双叒叕涨了!
Python 常见内置函数(二)
Stata绘制饼形图的进阶用法
Python标准库--logging模块盲区探索——Stata的读写极限Camelot提取PDF表格:一页多表、多页一表Stata绘图系列——条形图绘制
Python常见内置函数(一)Stata绘图系列——饼形图绘制【爬虫实战】深交所服务业年报数据“挂羊头卖狗肉”?
Python与excel交互--xlsxwriter模块cnmapsearch——离公司最近的快餐店在哪
Python中的异常处理 Python交互式数据可视化——酷炫的Altair库 hk系列命令(3)—— hktrade hk系列命令(2)—— hkar hk系列命令(1)—— hkstock关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。